﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace ImmovablesManager
{
    public class DataGridNewFlatsDataView: INotifyPropertyChanged
    {

        private Guid _newflatId;
        public Guid NewFlatId
        {
            get { return _newflatId; }
            set
            {
                _newflatId = value;
                NotifyPropertyChanged("NewFlatId");
            }
        }

        private string _newAddress;
        public string NewAddress
        {
            get { return _newAddress; }
            set
            {
                _newAddress = value;
                NotifyPropertyChanged("NewAddress");
            }
        }

        private int? _newRoomCount;
        public int? NewRoomCount
        {
            get { return _newRoomCount; }
            set
            {
                _newRoomCount = value;
                NotifyPropertyChanged("NewRoomCount");
            }
        }

        private int? _newfloor;
        public int? NewFloor
        {
            get { return _newfloor; }
            set
            {
                _newfloor = value;
                NotifyPropertyChanged("NewFloor");
            }
        }

        private int? _newFloorsCount;
        public int? NewFloorsCount
        {
            get { return _newFloorsCount; }
            set
            {
                _newFloorsCount = value;
                NotifyPropertyChanged("NewFloorsCount");
            }
        }

        private string _newMaterial;
        public string NewMaterial
        {
            get { return _newMaterial; }
            set
            {
                _newMaterial = value;
                NotifyPropertyChanged("NewMaterial");
            }
        }

        private double? _newTotalArea;
        public double? NewTotalArea
        {
            get { return _newTotalArea; }
            set
            {
                _newTotalArea = value;
                NotifyPropertyChanged("NewTotalArea");
            }
        }

        private double? _newLivingArea;
        public double? NewLivingArea
        {
            get { return _newLivingArea; }
            set
            {
                _newLivingArea = value;
                NotifyPropertyChanged("NewLivingArea");
            }
        }

        private double? _newKitchenArea;
        public double? NewKitchenArea
        {
            get { return _newKitchenArea; }
            set
            {
                _newKitchenArea = value;
                NotifyPropertyChanged("NewKitchenArea");
            }
        }

        private double? _newCostPerMeter;
        public double? NewCostPerMeter
        {
            get { return _newCostPerMeter; }
            set
            {
                _newCostPerMeter = value;
                NotifyPropertyChanged("NewCostPerMeter");
            }
        }

        private double? _newTotalCost;
        public double? NewTotalCost
        {
            get { return _newTotalCost; }
            set
            {
                _newTotalCost = value;
                NotifyPropertyChanged("NewTotalCost");
            }
        }

        private string _newBuildingFinishedDate;
        public string NewBuildingFinishedDate
        {
            get { return _newBuildingFinishedDate; }
            set
            {
                _newBuildingFinishedDate = value;
                NotifyPropertyChanged("NewBuildingFinishedDate");
            }
        }

        private string _newAdditionalDescription;
        public string NewAdditionalDescription
        {
            get { return _newAdditionalDescription; }
            set
            {
                _newAdditionalDescription = value;
                NotifyPropertyChanged("NewAdditionalDescription");
            }
        }

        private string _newIrr;
        public string NewIRR
        {
            get { return _newIrr; }
            set
            {
                _newIrr = value;
                NotifyPropertyChanged("NewIRR");
            }
        }

        private string _newNote;
        public string NewNote
        {
            get { return _newNote; }
            set
            {
                _newNote = value;
                NotifyPropertyChanged("NewNote");
            }
        }


        private void NotifyPropertyChanged(String info)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(info));
            }
        }


        #region Implementation of INotifyPropertyChanged

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }
}
